/**
 * 
 */
package com.primestone.cim.util.enums;


/**
 * @author cesar.mateus
 *
 */
public class EndDeviceEventEnum {

	/**
	 * 
	 * @author cesar.mateus
	 *
	 */
	public static enum Domain {
		_1("1", "Communications"),
		_2("2", "Device asset"),
		_3("3", "Electric meter"),
		_4("4", "Gas meter"),
		_5("5", "Gateway"),
		_6("6", "Grind power"),
		_7("7", "Security"),
		_8("8", "Transformer"),
		_9("9", "Turbine"),
		
		;
		private String domainValue;
		private String enumeration;
		
		/**
		 * @param domainValue
		 * @param enumeration
		 */
		private Domain(String domainValue, String enumeration) {
			this.domainValue = domainValue;
			this.enumeration = enumeration;
		}

		/**
		 * @return the domainValue
		 */
		public String getDomainValue() {
			return domainValue;
		}

		/**
		 * @return the enumeration
		 */
		public String getEnumeration() {
			return enumeration;
		}
	}
	
	public static enum DomainPart {
		_1("1", "Access"),
		_2("2", "Battery"),
		_3("3", "Cartridge"),
		_4("4", "Circuit"),
		_5("5", "Control"),
		_6("6", "Customer interface"),
		_8("8", "Demand"),
		_9("9", "DER switch"),
		_10("10", "Enclosure"),
		_11("11", "Firmware"),
		_12("12", "Frequency"),
		_13("13", "Gas metrology"),
		_14("14", "Gateway device"),
		_15("15", "Load control"),
		_16("16", "Load profile"),
		_17("17", "Logs"),
		_18("18", "Memory"),
		_19("19", "Messaging"),
		_20("20", "Meter asset"),
		_21("21", "Metrology"),
		_22("22", "Mode"),
		_23("23", "Network interface"),
		_24("24", "Password"),
		_25("25", "Phase"),
		_26("26", "Power"),
		_27("27", "Power factor"),
		_28("28", "Power quality"),
		_29("29", "Pressure"),
		_30("30", "Protective device"),
		_31("31", "RCD switch"),
		_32("32", "Security key"),
		_33("33", "Tamper"),
		_34("34", "Tariff"),
		_35("35", "Temperature"),
		_36("36", "Time"),
		_37("37", "Transformer device"),
		_38("38", "Voltage"),
		
		;
		private String domainPart;
		private String enumeration;
		
		/**
		 * @param domainPart
		 * @param enumeration
		 */
		private DomainPart(String domainPart, String enumeration) {
			this.domainPart = domainPart;
			this.enumeration = enumeration;
		}

		/**
		 * @return the domainPart
		 */
		public String getDomainPart() {
			return domainPart;
		}

		/**
		 * @return the enumeration
		 */
		public String getEnumeration() {
			return enumeration;
		}
	}
	
	public static enum Type {
		_1("1", "Alarm"),
		_2("2", "Alarm management"),
		_3("3", "Attribute"),
		_4("4", "Calibration"),
		_5("5", "Check status"),
		_6("6", "Command"),
		_7("7", "Configuration"),
		_8("8", "Credit"),
		_9("9", "End alarm"),
		_10("10", "Identity"),
		_11("11", "Main mode"),
		_12("12", "Metering mode"),
		_13("13", "Outage"),
		_14("14", "Quality flag"),
		_15("15", "Read type"),
		_16("16", "Setting"),
		_17("17", "Status" ),
		_18("18", "Status check"),
		_19("19", "Test mode"),
		_20("20", "Requires"),
		_21("21","Has feature"),
		
		
		;
		private String typeValue;
		private String enumeration;
		
		/**
		 * @param typeValue
		 * @param enumeration
		 */
		private Type(String typeValue, String enumeration) {
			this.typeValue = typeValue;
			this.enumeration = enumeration;
		}

		/**
		 * @return the typeValue
		 */
		public String getTypeValue() {
			return typeValue;
		}

		/**
		 * @return the enumeration
		 */
		public String getEnumeration() {
			return enumeration;
		}
	}
	
	public static enum Index {
		_1("1", "Abort"),
		_2("2", "Access attempt" ),
		_3("3", "Acknowledged"),
		_4("4", "Activated"),
		_5("5", "Adjusted"),
		_6("6", "Alarm cleared"),
		_7("7", "Allocation error"),
		_8("8", "Almost full"),
		_9("9", "Alter option"),
		_10("10", "Alternate phone"),
		_11("11", "Armed for closure"),
		_12("12", "Armed for open"),
		_13("13", "Association failure"),
		_14("14", "Auto registration"),
		_15("15", "Auto registration confirm"),
		_16("16", "Battery charged"),
		_17("17", "Battery failure"),
		_18("18", "Blank"),
		_19("19", "BTU alarm"),
		_20("20", "Cable failed"),
		_21("21", "Calculated"),
		_22("22", "Call-in failure"),
		_23("23", "Certificate expired" ),
		_24("24", "Changed"),
		_25("25", "Changed by condition"),
		_26("26", "Changed ID"),
		_27("27", "Changed-out"),
		_28("28", "Cleared"),
		_29("29", "Clock failed"),
		_30("30", "Code changed"),
		_31("31", "Cold start"),
		_32("32", "Comm failed" ),
		_33("33", "Comm reestablished"),
		_34("34", "Comm terminated"),
		_35("35", "Command accepted"),
		_36("36", "Command error"),
		_37("37", "Command format error"),
		_38("38", "Command changed"),
		_39("39", "Concentration"),
		_40("40", "Configuration error"),
		//...
		_42("42", "Connected"),
		//...
		_68("68", "Disconnected"),
		// _289("289", _NULL_STRING_),
		
		;
		private String index;
		private String enumeration;
		
		/**
		 * @param index
		 * @param enumeration
		 */
		private Index(String index, String enumeration) {
			this.index = index;
			this.enumeration = enumeration;
		}

		/**
		 * @return the index
		 */
		public String getIndex() {
			return index;
		}

		/**
		 * @return the enumeration
		 */
		public String getEnumeration() {
			return enumeration;
		}
	}
	
}
